#pragma once

#include <QDateTime>
#include <QWidget>

class GraphMoveWindow : public QWidget
{
    Q_OBJECT

public:
    explicit GraphMoveWindow(QWidget *parent = nullptr);
    virtual ~GraphMoveWindow() override;

protected:
    virtual void mousePressEvent(QMouseEvent *event) override;
    virtual void mouseReleaseEvent(QMouseEvent *event) override;
    virtual void wheelEvent(QWheelEvent *event) override;

    virtual void paintEvent(QPaintEvent *event) override;

public Q_SLOTS:
    void updateDate();
    void updateGraphicPaint();

private:
    QPoint m_currentPos;
    QPoint m_goalPos;
    bool m_isShowRightMouseBox;
    int m_xDir;
    int m_yDir;
    float m_speed;
    QImage m_cursorImg;

    QTime m_time;
};
